1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package org.apache.tapestry5.integration.app3.services;
16
17 import org.apache.tapestry5.SymbolConstants;
18 import org.apache.tapestry5.integration.app3.components.OverrideComponent;
19 import org.apache.tapestry5.integration.app3.components.OverridenComponent;
20 import org.apache.tapestry5.integration.app3.mixins.OverrideMixin;
21 import org.apache.tapestry5.integration.app3.mixins.OverridenMixin;
22 import org.apache.tapestry5.integration.app3.pages.OverridePage;
23 import org.apache.tapestry5.integration.app3.pages.OverridenPage;
24 import org.apache.tapestry5.ioc.Configuration;
25 import org.apache.tapestry5.ioc.MappedConfiguration;
26 import org.apache.tapestry5.ioc.OrderedConfiguration;
27 import org.apache.tapestry5.ioc.annotations.Contribute;
28 import org.apache.tapestry5.services.ComponentOverride;
29 import org.apache.tapestry5.services.DisplayBlockContribution;
30 import org.apache.tapestry5.services.Request;
31 import org.apache.tapestry5.services.compatibility.Compatibility;
32 import org.apache.tapestry5.services.compatibility.Trait;
33 import org.apache.tapestry5.services.security.ClientWhitelist;
34 import org.apache.tapestry5.services.security.WhitelistAnalyzer;
35
36 public class AppModule
37 {
38 public static final String FORM_GROUP_LABEL_CSS_CLASS_VALUE = "control-label col-sm-2";
39
40 public static final String FORM_GROUP_WRAPPER_CSS_CLASS_VALUE = "something form-group";
41
42 public static final String FORM_GROUP_FORM_FIELD_WRAPPER_ELEMENT_NAME_VALUE = "div";
43
44 public static final String FORM_GROUP_FORM_FIELD_WRAPPER_ELEMENT_CSS_CLASS_VALUE = "col-sm-10";
45
46 public static final String FORM_FIELD_CSS_CLASS_VALUE = "form-control control-form";
47
48 public static void contributeBeanBlockOverrideSource(Configuration<Object> configuration)
49 {
50 configuration.add(new DisplayBlockContribution("boolean", "PropertyDisplayBlockOverrides", "boolean"));
51 }
52
53 public static void contributeApplicationDefaults(MappedConfiguration<String, String> configuration)
54 {
55 configuration.add(SymbolConstants.GZIP_COMPRESSION_ENABLED, "false");
56
57 configuration.add(SymbolConstants.PRODUCTION_MODE, "false");
58
59 configuration.add(SymbolConstants.JAVASCRIPT_INFRASTRUCTURE_PROVIDER, "jquery");
60
61 configuration.add(SymbolConstants.FORM_GROUP_LABEL_CSS_CLASS, FORM_GROUP_LABEL_CSS_CLASS_VALUE);
62 configuration.add(SymbolConstants.FORM_GROUP_WRAPPER_CSS_CLASS, FORM_GROUP_WRAPPER_CSS_CLASS_VALUE);
63 configuration.add(SymbolConstants.FORM_GROUP_FORM_FIELD_WRAPPER_ELEMENT_NAME, FORM_GROUP_FORM_FIELD_WRAPPER_ELEMENT_NAME_VALUE);
64 configuration.add(SymbolConstants.FORM_GROUP_FORM_FIELD_WRAPPER_ELEMENT_CSS_CLASS, FORM_GROUP_FORM_FIELD_WRAPPER_ELEMENT_CSS_CLASS_VALUE);
65 configuration.add(SymbolConstants.FORM_FIELD_CSS_CLASS, FORM_FIELD_CSS_CLASS_VALUE);
66
67 configuration.add(SymbolConstants.ENABLE_HTML5_SUPPORT, "true");
68
69 }
70
71 @Contribute(Compatibility.class)
72 public static void disableBackwardsCompatibleFeatures(MappedConfiguration<Trait, Boolean> configuration)
73 {
74 configuration.add(Trait.INITIALIZERS, false);
75 configuration.add(Trait.SCRIPTACULOUS, false);
76 }
77
78 @Contribute(ClientWhitelist.class)
79 public static void provideWhitelistAnalyzer(OrderedConfiguration<WhitelistAnalyzer> configuration)
80 {
81 configuration.add("TestAnalyzer", new WhitelistAnalyzer()
82 {
83
84 public boolean isRequestOnWhitelist(Request request)
85 {
86 return true;
87 }
88 }, "before:*");
89 }
90
91 @Contribute(ComponentOverride.class)
92 public static void overridePageAndComponentAndMixin(MappedConfiguration<Class, Class> configuration) {
93 configuration.add(OverridenPage.class, OverridePage.class);
94 configuration.add(OverridenComponent.class, OverrideComponent.class);
95 configuration.add(OverridenMixin.class, OverrideMixin.class);
96 }
97
98 }